package entities;

import java.io.Serializable;

import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToOne;

@Entity
public class ItemVenta implements Serializable{
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private Integer id;
	private RodamientoStock rodamiento;
	private Integer cantidad;
	private Integer listaPreciosId;
	private Integer cotizacionId;
	/*Al llegar una solicitud de un rodamiento, busco en cada lista de precio,
	 * si el precio es el mejor, pero no alcanza la cantidad, compro estos y sigo con el siguiente
	 * item por mejor precio.
	 * */
	
	public ItemVenta(){};
	
	
	
	public ItemVenta(Integer cantidad) {
		super();
		this.cantidad = cantidad;
	}

	public ItemVenta(RodamientoStock rodamiento, Integer cantidad,
			Integer listaPreciosId, Integer cotizacionId) {
		super();
		this.rodamiento = rodamiento;
		this.cantidad = cantidad;
		this.listaPreciosId = listaPreciosId;
		this.cotizacionId = cotizacionId;
	}
	
	public ItemVenta(Rodamiento rodamiento, Integer cantidad){
		super();
		this.cantidad = cantidad;
	}

	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}
	
	public Integer getCantidad() {
		return cantidad;
	}
	public void setCantidad(Integer cantidad) {
		this.cantidad = cantidad;
	}	


	public void setRodamiento(RodamientoStock rodamiento) {
		this.rodamiento = rodamiento;
	}


	@OneToOne(fetch = FetchType.EAGER)
	public RodamientoStock getRodamiento() {
		return rodamiento;
	}



	public Integer getListaPreciosId() {
		return listaPreciosId;
	}



	public void setListaPreciosId(Integer listaPreciosId) {
		this.listaPreciosId = listaPreciosId;
	}

	public Integer getCotizacionId() {
		return cotizacionId;
	}



	public void setCotizacionId(Integer cotizacionId) {
		this.cotizacionId = cotizacionId;
	}
	
}
